package com.alibaba.citrus.ots.unified.inventory.dto.api.request;

import com.alibaba.citrus.ots.unified.inventory.dto.api.response.AllocateOrderScItemDetailDTO;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @description: 调拨单创建主体
 * @author: yuhw
 * @date: 2021年08月26日 10:36
 **/
@Data
public class AllocateOrderCreateDTO implements Serializable {
    private static final long serialVersionUID = -5224904164510177610L;

    /**
     * 调拨单号
     */
    private String code;
    /**
     * 调拨单外部单号 关联sap
     */
    private String outAllocateApplyOrderCode;
    /**
     * 调拨预报单id
     */
    private Integer allocateApplyOrderId;
    /**
     * 调拨预报单号
     */
    private String allocateApplyOrderCode;
    /**
     * 提报组织id
     */
    private String applyOrgId;
    /**
     * 收货仓库id
     */
    private String receiveWareHouseId;
    /**
     * 收货货区
     */
    private String receiveAreaId;
//    /**
//     * 收货仓-联系人
//     */
//    private String receiveWareHouseContactPerson;
//    /**
//     * 收货仓-电话
//     */
//    private String receiveWareHousePhone;
//    /**
//     * 收货仓-地址
//     */
//    private String receiveWareHouseAddress;
    /**
     * 发货仓库id
     */
    private String shipWareHouseId;
    /**
     * 发货货区id
     */
    private String shipAreaId;
    /**
     * 产品组
     */
    private String productGroup;
    /**
     * sap渠道
     */
    private String sapChannel;
    /**
     * 客户
     */
    private String customer;
    /**
     * 是否为退单
     */
    private boolean returnOrder;
    /**
     * 总部成本中心
     */
    private String sapCostCenterId;
    /**
     * 客户采购参考号
     */
    private String sapRefPoNo;
    /**
     * 类型  单据类型 {@link AllocateOrderType}
     */
    private Integer type;
    /**
     * 包含货品的id
     */
//    private List<String> scItemIds;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 确认时间
     */
    private Date confirmTime;
    /**
     * 完成时间
     */
    private Date finishTime;
    /**
     * 装运方式
     */
    private Integer shipMethod;
    /**
     * 合计数量
     */
    private String totalQuantity;
    /**
     * 折扣
     */
    private String discount;
    /**
     * 合计金额
     */
    private String totalAmount;
    /**
     * 是否需要还货
     */
    private boolean sendBackRequired;

    /**
     * 发货数量
     */
    private String shipQuantity;
    /**
     * 收货数量
     */
    private String receiveQuantity;
    /**
     * 预计到货日期
     */
    private Date expectedReceiveTime;
//    /**
//     * 发货时间
//     */
//    private Date shippingTime;
//    /**
//     * 收货时间
//     */
//    private Date receivingTime;
//    /**
//     * 预计到货时间
//     */
//    private Date expectedArrivalTime;
//    /**
//     * 状态
//     */
//    private String status;
//    /**
//     * 单据类型 {@link AllocateOrderType}
//     */
//    private Integer type;

    /**
     * 创建人
     */
    private String creator;
    /**
     * 备注
     */
    private String remark;
    /**
     * 调拨单货品明细
     */
    private List<AllocateOrderScItemDetailDTO> allocateOrderScItemDetails;
}
